Date: Fri, 22 Jul 2016 21:00:27 +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: r49149 - head/de_DE.ISO8859-1/books/handbook/cutting-edge Message-ID: <201607222100.u6ML0RLo077158@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: bhd Date: Fri Jul 22 21:00:27 2016 New Revision: 49149 URL: https://svnweb.freebsd.org/changeset/doc/49149 Log: Update to r43796: All the required steps are now in order, in one place, and in a Procedure. Reviewed by: bcr Differential Revision: https://reviews.freebsd.org/D7277 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 Fri Jul 22 20:59:11 2016 (r49148) +++ head/de_DE.ISO8859-1/books/handbook/cutting-edge/chapter.xml Fri Jul 22 21:00:27 2016 (r49149) @@ -5,7 +5,7 @@ $FreeBSD$ $FreeBSDde$ - basiert auf: r43795 + basiert auf: r43796 --> <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> @@ -1608,7 +1608,7 @@ before running "/usr/sbin/freebsd-update Anweisungen in <xref linkend="synching"/> synchronisiert.</para> - <para>Die <quote>Welt</quote> enthält den &os;-Kernel, die + <para>Das Basissystem enthält den &os;-Kernel, die zentralen Binärdateien, Bibliotheken und Entwicklerdateien sowie einen integrierten Compiler. Die Reihenfolge, in der diese Komponenten gebaut werden, ist wichtig.</para> @@ -1637,13 +1637,14 @@ before running "/usr/sbin/freebsd-update Schritte notwendig, um eine Aktualisierung der Konfiguration durchzuführen. Der Aktualisierungsprozess ersetzt zum Großteil Dateien oder fügt neue hinzu, bestehende Dateien - werden nicht gelöscht. In wenigen Ausnahmefällen kann dies - Probleme verursachen. Aus diesem Grund wird der - Aktualisierungsprozess manchmal bestimmte Dateien zum - manuellen Löschen vorschlagen.</para> - - <para>Diese Bedenken haben zu der folgenden und empfohlenen - Reihenfolge geführt.</para> + werden nicht gelöscht. Da dieser Prozess Probleme verursachen + kann, werden in <filename>/usr/src/UPDATING</filename> + gegebenenfalls Dateien aufgelistet, die manuell entfernt + werden müssen.</para> + + <para>Diese Bedenken haben zu einer empfohlenen + Reihenfolge bei der Aktualisierung geführt, die im folgenden + Prozess beschrieben wird.</para> <procedure> <title>Zusammenfassung des Aktualisierungsprozesses</title> @@ -1654,178 +1655,148 @@ before running "/usr/sbin/freebsd-update beschrieben.</para> <step> - <para><command>make buildworld</command></para> + <para>Wenn der Bauprozess bereits einmal auf diesem + System durchgeführt wurde, existiert vielleicht noch eine + Kopie davon in <filename>/usr/obj</filename>. Um den + neuen Bauprozess zu beschleunigen und Ärger aufgrund von + Abhängigkeiten zu vermeiden, kann dieses Verzeichnis + entfernt werden:</para> - <para>Dieser Schritt übersetzt zuerst den neuen Compiler und - ein paar damit zusammenhängende Werkzeuge und verwendet dann - den neuen Compiler, um den Rest des Basissystems zu erstellen. - Das Ergebnis landet dann in <filename>/usr/obj</filename>.</para> - </step> + <screen>&prompt.root; <userinput>chflags -R noschg /usr/obj/*</userinput> +&prompt.root; <userinput>rm -rf /usr/obj</userinput></screen> + </step> - <step> - <para><command>make buildkernel</command></para> + <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>Dieser Ansatz nutzt den <emphasis>neuen</emphasis> - Compiler, der in <filename>/usr/obj</filename> abgelegt - ist, um vor falschen Compiler-Kernel-Kombinationen zu - schützen.</para> + <screen>&prompt.root; <userinput>cd /usr/src</userinput> +&prompt.root; <userinput>make buildworld</userinput></screen> </step> <step> - <para><command>make installkernel</command></para> + <para>Benutzen Sie den neuen Compiler aus + <filename>/usr/obj</filename>, um sich vor falschen + Compiler-Kernel-Kombinationen abzusichern.</para> - <para>Platziert den neuen Kernel und Kernelmodule auf der Platte, - was es erlaubt, mit dem frisch aktualisierten Kernel zu - starten.</para> + <screen>&prompt.root; <userinput>make buildkernel</userinput></screen> </step> <step> - <para>Starten Sie das System in den Single-User-Modus.</para> + <para>Installieren Sie den neuen Kernel und die Kernelmodule, + damit Sie den frisch aktualisierten Kernel starten + können.</para> - <para>Der Single-User-Modus minimiert Probleme mit der - Aktualisierung von Programmen, die bereits gestartet sind. Ebenso - minimiert es Probleme, die mit der Verwendung des alten - Basissystems und des neuen Kernels zu tun haben - könnten.</para> + <screen>&prompt.root; <userinput>make installkernel</userinput></screen> </step> <step> - <para><command>mergemaster -p</command></para> + <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> - <para>Dieser Schritt aktualisiert ein paar initiale - Konfigurationsdateien als Vorbereitung für das neue - Basissystem. Beispielsweise fügt es neue Benutzergruppen - zum System oder neue Benutzernamen in die Passwortdatenbank hinzu. - Dies wird oftmals benötigt, wenn neue Gruppen oder bestimmte - Systembenutzerkonten seit der letzten Aktualisierung hinzu gekommen - sind, so dass der <buildtarget>installworld</buildtarget>-Schritt - in der Lage ist, auf dem neu installierten System die Benutzer - oder Systemgruppennamen ohne Probleme zu verwenden.</para> - </step> + <screen>&prompt.root; <userinput>mount -u /</userinput> +&prompt.root; <userinput>mount -a -t ufs</userinput> +&prompt.root; <userinput>swapon -a</userinput></screen> - <step> - <para><command>make installworld</command></para> + <para>Wenn das System mit <acronym>ZFS</acronym> formatiert + ist, führen Sie stattdessen folgende Befehle aus. In + diesem Beispiel ist der Name des Pools + <literal>zroot</literal>:</para> - <para>Kopiert das Basissystem aus - <filename>/usr/obj</filename>. Der neue Kernel und das - neue Basissystem sind jetzt auf der Platte - installiert.</para> + <screen>&prompt.root; <userinput>zfs set readonly=off zroot</userinput> +&prompt.root; <userinput>zfs mount -a</userinput></screen> </step> <step> - <para><command>mergemaster</command></para> + <para>Optional: Wenn eine andere Tastaturbelegung als + US-Englisch gewünscht wird, kann diese mit &man.kbdmap.1; + angepasst werden:</para> - <para>Aktualisiert die verbleibenden Konfigurationsdateien, - da nun das neue Basissystem auf der Platte ist.</para> - </step> + <screen>&prompt.root; <userinput>kbdmap</userinput></screen> + </step> <step> - <para><command>make delete-old</command></para> + <para>Führen Sie folgenden Befehl aus, wenn die + <acronym>CMOS</acronym>-Uhr auf die lokale Zeit + eingestellt ist (dies ist der Fall, wenn die Ausgabe von + &man.date.1; nicht die richtige Zeit anzeigt):</para> - <para>Dieses Target entfernt veraltete Dateien. Dies - ist wichtig, da alte Dateien manchmal Probleme bereiten, - falls sie nicht entfernt werden. Zum Beispiel gibt es - Probleme mit einigen Ports, wenn die Datei - <filename>utmp.h></filename> noch präsent ist, während die - neue Datei <filename>utmpx.h</filename> installiert - wird.</para> + <screen>&prompt.root; <userinput>adjkerntz -i</userinput></screen> </step> - <step> - <para>Starten Sie das System neu.</para> - - <para>Ein kompletter Systemneustart ist notwendig, um den neuen - Kernel und das neue Basissystem mit den neuen - Konfigurationsdateien zu laden.</para> - </step> - - <step> - <para><command>make delete-old-libs</command></para> - - <para>Entfernt alle veralteten Bibliotheken um Konflikte mit - den neuen Bibliotheken zu vermeiden. Stellen Sie sicher, - dass alle Port neu gebaut wurden, bevor die alten - Bibliotheken entfernt werden.</para> - </step> - </procedure> - - <para>Beachten Sie, dass wenn Sie von einem Release des gleichen - &os;-Zweigs auf ein aktuelleres Release des gleichen Zweigs, z.B. - von 9.0 auf 9.1, aktualisieren, dann ist diese Vorgehensweise nicht - unbedingt notwendig, da Sie nur sehr unwahrscheinlich in - ungünstige Kombinationen zwischen Compiler, Kernel, Basissystem - und den Konfigurationsdateien geraten werden. Die ältere - Vorgehensweise von <command>make - world</command>, gefolgt von der Erstellung - und Installation des neuen Kernels funktioniert möglicherweise - gut genug, um kleinere Aktualisierungen vorzunehmen.</para> - - <para>Wenn Sie allerdings zwischen Hauptversionen aktualisieren wollen - und befolgen diese Schritte nicht, sollten Sie sich auf Probleme - gefasst machen.</para> - - <para>Diese Prozedur hat sich mit der Zeit weiterentwickelt, da die - Entwickler es für unmöglich erachtet haben, bestimmte - Arten von Kombinationsproblemen vollständig auszuschliessen. - Hoffentlich wird die aktuelle Aktualisierungsprozedur für lange - Zeit stabil bleiben.</para> - - <para>Als Zusammenfassung ist hier nochmal die aktuell vorgeschlagene - Vorgehensweise für die Aktualisierung von &os; aus den Quellen - aufgelistet:</para> + <step> + <para>Bei der Aktualisierung des Basissystems werden + bestimmte Verzeichnisse, wie <filename>/etc</filename>, + <filename>/var</filename> und <filename>/usr</filename> + ausgelassen. Im nächsten Schritt werden ein paar initiale + Konfigurationsdateien zur Vorbereitung für das neue + Basissystem aktualisiert. Der folgende Befehl + aktualisiert lediglich Dateien, die für das Gelingen von + <buildtarget>installworld</buildtarget> unerlässlich sind. + Beispielsweise können neue Gruppen, Systembenutzerkonten, + oder neue Startskripten erstellt werden, die seit der + letzten Aktualisierung hinzugefügt wurden. Dieser Schritt + ist notwendig, damit + <buildtarget>installworld</buildtarget> in der Lage ist, + die neuen Konten, Gruppen und Skripten zu verwenden. + Weitere Informationen zu diesem Befehl finden Sie in + <xref linkend="mergemaster"/>:</para> - <screen>&prompt.root; <userinput>cd /usr/src</userinput> -&prompt.root; <userinput>make buildworld</userinput> -&prompt.root; <userinput>make buildkernel</userinput> -&prompt.root; <userinput>make installkernel</userinput> -&prompt.root; <userinput>shutdown -r now</userinput></screen> + <screen>&prompt.root; <userinput>mergemaster -p</userinput></screen> + </step> - <note> - <para>Es gibt einige, sehr seltene Situationen, in denen Sie - <command>mergemaster -p</command> zusätzlich - ausführen müssen, bevor Sie das System mit - <buildtarget>buildworld</buildtarget> bauen. Diese Situationen - werden in <filename>UPDATING</filename> beschrieben. Solche - Situationen treten aber in der Regel nur dann auf, wenn das - &os;-System um eine oder mehrere Hauptversionen aktualisiert - wird.</para> - </note> + <step> + <para>Installieren Sie das neue Basissystem aus + <filename>/usr/obj</filename>:</para> - <para>Nachdem <buildtarget>installkernel</buildtarget> erfolgreich - abgeschlossen wurde, starten Sie das System durch die Eingabe - von <command>boot -s</command> am Loaderprompt im - Single-User-Modus.</para> + <screen>&prompt.root; <userinput>cd /usr/src</userinput> +&prompt.root; <userinput>make installworld</userinput></screen> + </step> - <para>Wenn Sie UFS benutzen, geben Sie folgende Befehle - ein:</para> + <step> + <para>Aktualisieren Sie die verbleibenden + Konfigurationsdateien:</para> - <screen>&prompt.root; <userinput>mount -u /</userinput> -&prompt.root; <userinput>mount -a -t ufs</userinput></screen> + <screen>&prompt.root; <userinput>mergemaster -iF</userinput></screen> + </step> - <para>Wenn Sie ZFS benutzen (angenommen der Name des zpools ist - zroot), geben Sie folgendes ein:</para> + <step> + <para>Löschen Sie veraltete Dateien. Dieser Schritt + ist wichtig, da alte Dateien manchmal Probleme bereiten, + falls sie nicht entfernt werden:</para> - <screen>&prompt.root; <userinput>zfs set readonly=off zroot</userinput> -&prompt.root; <userinput>zfs mount -a</userinput></screen> + <screen>&prompt.root; <userinput>make delete-old</userinput></screen> + </step> - <para>Geben Sie anschließend folgende Kommandos ein:</para> + <step> + <para>Nun wird ein Neustart benötigt, um den neuen Kernel + und das neue Basissystem zu laden:</para> - <screen>&prompt.root; <userinput>adjkerntz -i</userinput> -&prompt.root; <userinput>mergemaster -p</userinput> -&prompt.root; <userinput>cd /usr/src</userinput> -&prompt.root; <userinput>make installworld</userinput> -&prompt.root; <userinput>mergemaster</userinput> -&prompt.root; <userinput>make delete-old</userinput> -&prompt.root; <userinput>reboot</userinput> -&prompt.root; <userinput>make delete-old-libs</userinput></screen> + <screen>&prompt.root; <userinput>reboot</userinput></screen> + </step> - <warning> - <title>Lesen Sie bitte weiter</title> + <step> + <para>Stellen Sie sicher, dass alle Ports neu gebaut wurden, + bevor die alten Bibliotheken entfernt werden. Verwenden Sie + dazu die Anweisungen aus <xref linkend="ports-upgrading"/>. + Entfernen Sie anschließend alle veralteten Bibliotheken um + Konflikte mit den neuen Bibliotheken zu vermeiden.</para> - <para>Die folgenden Abschnitte beschreiben detailliert - die einzelnen Schritte, insbesondere wenn eine angepasste - Kernelkonfiguration verwendet wird.</para> - </warning> + <screen>&prompt.root; <userinput>make delete-old-libs</userinput></screen> + </step> + </procedure> </sect2> <sect2 xml:id="src-updating"> @@ -1836,6 +1807,10 @@ before running "/usr/sbin/freebsd-update <primary><filename>make.conf</filename></primary> </indexterm> + <para>Die folgenden Abschnitte beschreiben detailliert die + einzelnen Schritte, insbesondere wenn eine angepasste + Kernelkonfiguration verwendet wird.</para> + <para>Die verfügbaren &man.make.1;-Optionen werden in &man.make.conf.5; und <filename>/usr/share/examples/etc/make.conf</filename>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201607222100.u6ML0RLo077158>